﻿using System;
using Wino.Core.Domain.Interfaces;

namespace Wino.Core.Requests.Bundles;

///// <summary>
///// Encapsulates request to queue and account for synchronizer.
///// </summary>
///// <param name="AccountId"><inheritdoc/></param>
///// <param name="Request"></param>
///// <param name="Request">Prepared request for the server.</param>
///// <param name="AccountId">Which account to execute this request for.</param>
public class ServerRequestBundle(Guid accountId, IRequestBase request) : IClientMessage
{
    public Guid AccountId { get; } = accountId;

    public IRequestBase Request { get; } = request;
}


//public record ServerRequestPackage<TUserActionRequestType>(Guid AccountId, TUserActionRequestType Request)
//    : ServerRequestBundle(AccountId), IClientMessage where TUserActionRequestType : IRequestBase;
